package com.order.itemcategoryproject.service;

import com.order.itemcategoryproject.pojo.VO.dArcItemVo;
import com.order.itemcategoryproject.pojo.dArcItem;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.sql.Date;
import java.util.List;

@Repository
public interface dArcItemService {

    // 通过编号获取所有该小类商品
    List<dArcItem> selectAllItemBySmCategory(String searchValue,
                                             String categoryId,
                                             String storageId,
                                             Date futureDates,
                                             String lang,
                                             String cusSegmentation);

    // 通过商品编号和客户代码获取商品信息
    dArcItem selectOneItemById(String itemId, String storageId, String lang, String cusSegmentation);


    // 获取所有热点商品数据
    List<dArcItem> selectAllHotItemInfoByItemGrade(String storageId, Date futureDates, String itemGrade, String lang, String cusSegmentation);

    // 根据库存即将入库时间来

    // 根据订单编号和客户编码获取订单数据
    // 通过被创建过的订单明细信息中的订单编号，通过创建的订单编号去主数据表中检索数据
    List<dArcItem> selectAllItemInfoByOrderIdAndCreateStaffId(String orderId, String createStaffId,
                                                              String storageId, String lang, String cusSegmentation);

    // 获取到所有的商品信息
    dArcItem selectAllItemInfo(String itemId, String storageId, String lang, String cusSegmentation);

    // 根据客户名称获取当前客户下有库存的所有系列（itemSeries）
    List<dArcItemVo> selectAllSeriesByItemSeries(String storageId, String cusSegmentation);

    // 根据商品系列获取当前客户下所有可下单商品
    List<dArcItem> getAllItemSeriesBySeriesName(String storageId, Date futureDates, String seriesName,
                                                String lang, String cusSegmentation);

    // 根据商品编号获取图片维护人员编号
    dArcItemVo getStaffIdByItemId(String itemId);


}
